/*
Description
给定2到15个不同的正整数，你的任务是计算这些数里面有多少个数对满足：数对中一个数是另一个数的两倍。比如给定1 4 3 2 9 7 18 22，得到的答案是3，因为2是1的两倍，4是2个两倍，18是9的两倍。 
Input
输入包括n组测试数据。每组数据包括一行，给出2到15个两两不同且小于100的正整数。每一行最后一个数是0，表示这一行的结束后，这个数不属于那2到15个给定的正整数。
Output
对每组输入数据，输出一行，给出有多少个数对满足其中一个数是另一个数的两倍。

Sample Input
3
1 4 3 2 9 7 18 22 0
2 4 8 10 0
7 5 11 13 1 3 0
Sample Output
3
2
0
*/
#include <bits/stdc++.h>
#include <iostream>
using namespace std;
int main()
{
    int n, s[16], sum, i, j, k, len;
    cin >> n;
    for (i = 0; i < n; i++)
    {
        for (j = 0;; j++)
        {
            cin >> s[j];
            if (s[j] == 0)
                break;
        }
        len = j; // 每组数据个数
        sum = 0;
        for (j = 0; j < len-1; j++) //将j位置的数与j+1到最后的所有数比较
        {
            for (k = j + 1; k < len; k++)
            {
                if (s[j] == 2 * s[k] || s[k] == 2 * s[j])
                {
                    sum++;
                }
            }
        }
        cout << sum << endl;
    }
}

